package br.com.atenas.sigop.servico;

import java.sql.Connection;
import java.util.Collection;
import br.com.atenas.sigop.dao.ConnectionFactory;
import br.com.atenas.sigop.dao.FilmeDAO;
import br.com.atenas.sigop.dto.FilmeDTO;

public class FilmeService extends Service{

	public void gravarFilme(FilmeDTO filme) throws Exception {
		Connection conn = null;
		try{
			conn = ConnectionFactory.getConnection();
			FilmeDAO dao = new FilmeDAO();
			dao.gravar(filme,conn);
		}catch(Exception e){
			throw new RuntimeException(e);
		}finally{
			fecharConexao(conn);
		}
	}
	
	public Collection<FilmeDTO> pesquisarFilme(FilmeDTO filme) throws Exception{
		Connection conn = null;
		try{
			conn = ConnectionFactory.getConnection();
			FilmeDAO dao = new FilmeDAO();
			return dao.pesquisar(filme, conn);
		}catch(Exception e){
			throw new RuntimeException(e);
		}finally{
			fecharConexao(conn);
		}
	}

	public void alterarFilme(FilmeDTO filme) throws Exception {
		Connection conn = null;
		try{
			conn = ConnectionFactory.getConnection();
			FilmeDAO dao = new FilmeDAO();
			dao.alterar(filme,conn);
			conn.commit();
		}catch(Exception e){
			throw new RuntimeException(e);
		}finally{
			fecharConexao(conn);
		}
	}

	public void excluirFilme(FilmeDTO filme) throws Exception {
		Connection conn = null;
		try{
			conn = ConnectionFactory.getConnection();
			FilmeDAO dao = new FilmeDAO();
			dao.excluir(filme,conn);
			conn.commit();
		}catch(Exception e){
			throw new RuntimeException(e);
		}finally{
			fecharConexao(conn);
		}
	}
}